package com.plian.system.entity.fr.enterprise;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.plian.Tools.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @description:
 * @author: gangan
 * @create: 2020-09-18 10:46
 */
@Data
@EqualsAndHashCode
@TableName("fr_enterprise")
@ApiModel("企业信息")
public class Enterprise {

    @ApiModelProperty(value = "主键")
    private String id;

    @ApiModelProperty(value = "单位编码")
    private String code;

    @ApiModelProperty(value = "单位id")
    private String orgId;

    @ApiModelProperty(value = "单据类型")
    private String formType;

    @ApiModelProperty(value = "上级单位名称")
    private String superiorOrgName;

    @ApiModelProperty(value = "经济性质")
    private String enterpriseNature;

    @ApiModelProperty(value = "机构类型")
    private String bodyType;

    @ApiModelProperty(value = "经营规模")
    private String scaleOperation;

    @ApiModelProperty(value = "所在地区")
    private String inArea;

    @ApiModelProperty(value = "邮政编码")
    private String zipCode;

    @ApiModelProperty(value = "统一信用代码")
    private String unifiedCreditCode;

    @ApiModelProperty(value = "是否托管企业")
    private String isHosting;

    @ApiModelProperty(value = "托管单位")
    private String hostingUnit;

    @ApiModelProperty(value = "持股比例")
    private String stake;

    @ApiModelProperty(value = "股票代码")
    private String stockCode;

    @ApiModelProperty(value = "办公地址")
    private String officeAddress;

    @ApiModelProperty(value = "启用企业")
    private String isEnterprise;

    @ApiModelProperty(value = "更新时间")
    @JsonFormat(pattern = DateUtil.PATTERN_DATETIME, timezone = "Asia/Shanghai")
    private Date updateTime;

    @ApiModelProperty(value = "初始表单id")
    private String initialId;

    @ApiModelProperty(value = "删除")
    private String isDeleted;

    @ApiModelProperty(value = "隶属关系")
    private String subordinateRelations;

    @ApiModelProperty(value = "所属集团")
    private String subordinateToGroup;

    @ApiModelProperty(value = "业务板块")
    private String businessSector;

    @ApiModelProperty(value = "单位简称")
    private String unitCheck;

    @ApiModelProperty(value = "行政区域")
    private String administrativeAreas;

    @ApiModelProperty(value = "是否国家出资企业重要子企业")
    private String isStateFundedEnterprisesChild;

    @ApiModelProperty(value = "联络人")
    private String contact;

    @ApiModelProperty(value = "备注")
    private String remark;

    @ApiModelProperty(value = "所属行业")
    private String industry;

    @ApiModelProperty(value = "法人代表")
    private String legalPerson;

    @ApiModelProperty(value = "单位电话")
    private String contactInformation;

    @ApiModelProperty(value = "功能分类")
    private String functionalClassification;

    @ApiModelProperty(value = "是否并表到母公司  1否0是")
    private String isIntoParent;

    @ApiModelProperty(value = "状态")
    private String status;


    @ApiModelProperty(value = "单位性质，0:境内登记，1:境外，2：合伙人")
    private String nature;

    @ApiModelProperty(value = "注册资本")
    private String regCapital;

    @ApiModelProperty(value = "企业人数")
    private Integer enterpriseNumber;

    @ApiModelProperty(value = "详细地址")
    private String detailAddr;

    @ApiModelProperty(value = "企业地址-名称")
    private String projectAddr;

    @ApiModelProperty(value = "企业地址-编码-省")
    private String provinceCode;

    @ApiModelProperty(value = "企业地址-编码-市")
    private String cityCode;

    @ApiModelProperty(value = "企业地址-编码-区")
    private String areaCode;

    @ApiModelProperty(value = "是否上市公司:0-否，1-是")
    private Integer isListed;

    @ApiModelProperty(value = "经营期限-开始")
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
    @JsonFormat(pattern = DateUtil.PATTERN_DATE)
    private Date startOperatingTime;

    @ApiModelProperty(value = "经营期限-结束")
    @DateTimeFormat(pattern = DateUtil.PATTERN_DATE)
    @JsonFormat(pattern = DateUtil.PATTERN_DATE)
    private Date endOperatingTime;

    @ApiModelProperty(value = "经营范围")
    private String businessScope;

    @ApiModelProperty(value = "经营状态:1-存续，2-注销")
    private Integer operatingStatus;

    @ApiModelProperty(value = "是否混改:0-否，1-是")
    private Integer isMixed;

    @ApiModelProperty(value = "是否三江汇海:0-否，1-是")
    private Integer isThree;

    @TableField(exist = false)
    @ApiModelProperty(value = "企业板块信息")
    private List<EnterprisePlate> enterprisePlates;
}
